import 'package:flutter/material.dart';
import 'package:flutter_table/utils/screen/ScreenAdapter.dart';
import 'package:flutter_table/view/table_widget.dart';

class TablePage extends StatefulWidget{
  @override
  State<StatefulWidget> createState() {
    // TODO: implement createState
    return _TablePageState();
  }

}

class _TablePageState extends State<TablePage>{

  // List<String> titleList = ['日期','项目','预计完成时间预计完成时间预计完成时间预计完成时间','日期','项目','预计完成时间','日期','项目','预计完成时间','日期','项目','预计完成时间'
  // ,'日期','项目','预计完成时间','日期','项目','预计完成时间','日期','项目','预计完成时间','日期','项目','预计完成时间'];
  List<String> titleList = ['日期','项目',
    '预计完成时间预计完成时间预计完成时间预计完成时间预计完成时间预计完成时间预计完成时间预计完成时间预计完成时间预计完成时间预计完成时间预计完成时间预计完成时间预计完成时间预计完成时间预计完成时间预计完成时间预计完成时间预计完成时间预计完成时间预计完成时间预计完成时间预计完成时间预计完成时间',
    '项目','项目'];
  // List<String> titleList = ['日期','项目ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff',
  //   '预计完成时间',
  //   '项目','项目'];

  //列表所有数据
  List<List<String>> allList = List();
  List<String> contentList = List();
  // List<double> titleWidthList = [100];
  Map<int, double> titleWidthMap = Map();
  List<List<String>> _getContentList() {
    for (int i = 1; i < 20; i++) {
      contentList = List();
      if(i%2==0){
        contentList.add("202学习烦烦烦烦反反复复烦烦烦烦烦烦烦烦烦烦烦烦烦烦烦$i");
        contentList.add("学习烦烦烦烦反反复复烦烦烦烦烦烦烦烦烦烦烦烦烦烦烦$i");
        // contentList.add("202103$i");
        contentList.add("反反复复烦烦烦烦烦烦烦烦烦烦烦烦烦烦烦反反复复烦烦烦$i");
        // contentList.add("学习2222222255555555555555553333333332学习2222222255555555555555553333333332学习2222222255555555555555553333333332学习2222222255555555555555553333333332学习2222222255555555555555553333333332$i");
        contentList.add("202103$i");
        contentList.add("202103$i");
      }else{
        contentList.add("202$i");
        contentList.add("学习2222222255555555555555553333333332学习2222222255555555555555553333333ASD$i");
        contentList.add("202103$i");
        contentList.add("202103$i");
        contentList.add("202103$i");
      }

      // contentList.add("202103$i");
      // contentList.add("202$i");
      // contentList.add("学习2222222255555555555555553333333332$i");
      // contentList.add("202103$i");
      // contentList.add("202103$i");
      // contentList.add("202103$i");
      // contentList.add("202103$i");
      // contentList.add("202$i");
      // contentList.add("学习2222222255555555555555553333333332$i");
      // contentList.add("202103$i");
      // contentList.add("202103$i");
      // contentList.add("202103$i");
      // contentList.add("202103$i");
      // contentList.add("202$i");
      // contentList.add("学习2222222255555555555555553333333332$i");
      // contentList.add("202103$i");
      // contentList.add("202103$i");
      // contentList.add("202103$i");
      // contentList.add("202103$i");
      allList.add(contentList);
    }
    return allList;
  }


  List<String> _getSelectList(){
    List<String> selectList = List();
    selectList.add("2,5");
    selectList.add("0,1");
    selectList.add("3,0");
    selectList.add("0,4");
    selectList.add("0,6");
    selectList.add("0,0");
    return selectList;
  }

  @override
  Widget build(BuildContext context) {
    // TODO: implement build
    ScreenAdapter.init(context);
    // titleWidthMap = {0:100,1:250,2:400,5:30};//问题：得四个才可以滑动
    titleWidthMap = {0:ScreenAdapter.getScreenWith()/5,
      1:ScreenAdapter.getScreenWith()/5,
      2:ScreenAdapter.getScreenWith()/5,
      3:ScreenAdapter.getScreenWith()/5,
      4:ScreenAdapter.getScreenWith()/5};

    return Scaffold(
      appBar: AppBar(
        title: Text("Table"),
      ),
      body: Container(
        child: TableWidget(titleList,_getContentList(),selectList: _getSelectList(),titleMaxLines: 1,titleTextOverflow: TextOverflow.ellipsis,
            onTap: (x,y){//如果是标题行， y = null.
              print("外部  x=$x y=$y");
            }),
      ),
    );
  }

}